import request from '@/utils/request'

// 查询人脸识别测试列表
export function listFace(query) {
  return request({
    url: '/face/face/list',
    method: 'get',
    params: query
  })
}

// 查询人脸识别测试详细
export function getFace(id) {
  return request({
    url: '/face/face/' + id,
    method: 'get'
  })
}

// 新增人脸识别测试
export function addFace(data) {
  return request({
    url: '/face/face',
    method: 'post',
    data: data
  })
}

// 修改人脸识别测试
export function updateFace(data) {
  return request({
    url: '/face/face',
    method: 'put',
    data: data
  })
}

// 删除人脸识别测试
export function delFace(id) {
  return request({
    url: '/face/face/' + id,
    method: 'delete'
  })
}


/**
 * 人脸比对（支持上传图片）
 * @param {File} imageA - 第一张图片文件
 * @param {File} imageB - 第二张图片文件
 * @returns {Promise} 包含比对结果的Promise
 */
 export function compareFaces(imageA, imageB) {
  const formData = new FormData()
  formData.append('imageA', imageA)
  formData.append('imageB', imageB)

  return request({
    url: '/face/face/compare',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

/**
 * 查询人脸（支持上传图片）
 * @param {File} image - 要查询的图片文件
 * @returns {Promise} 包含查询结果的Promise
 */
 export function queryFace(formData) {
  return request({
    url: '/face/face/queryFace',
    method: 'post',
    data: formData // 直接传递 FormData 对象
  });
}



/**
 * 添加人员到人员库
 * @param {File} image - 人员图片文件
 * @param {string} personName - 人员姓名
 * @param {string} personId - 人员ID
 * @returns {Promise} 包含操作结果的Promise
 */
export function addPersonToGroup(image, personName, personId) {
  const formData = new FormData()
  formData.append('image', image)
  formData.append('personName', personName)
  formData.append('personId', personId)

  return request({
    url: '/face/face/AddPersonToGroup',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}
